Software developers create software applications using one or more software development programs. These software development programs allow developers to create the underlying source code that contains the logic for implementing the desired functionality for a given software application under development. Source code files may themselves contain certain data about who created the file, such as in a code comment where each developer makes a comment to explain what changes he/she made to the code. Parsing these comments programmatically to obtain meaningful ownership information can be difficult, because interpretation of the comment is required. Some software development programs allow users to manually specify an “owner” of a particular project or other source code unit in a software application under development. This approach requires manual updates as ownership changes. Many file systems (independently of software development programs) are able to track who created a given file and/or who updated a given file most recently. This creation and/or update information may or may not have anything to do with who is the owner of the contents of a given file, and does not contain the details of exactly which lines were modified.
In the world of software development, most companies have to rely on internal company knowledge about who really owns a specific source code unit. When a question does arise that involves a specific unit of code, the person wanting to speak with the current source code owner basically has to just use this internal company knowledge to try and guess who the owner is, or to consult manually assigned ownership information that may be out of date, if such manually assigned ownership information is even available. One reason that an owner of a source code unit may need to be contacted is because the particular source code unit broke the build (compilation) of the software application. Another reason that an owner of a particular source code unit may need to be contacted is because changes need to be made to the software application that will impact the particular unit of code.